package com.firestone.bean.entity.elasticsearch.dm;

import com.firestone.bean.entity.elasticsearch.nested.WeightJson;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.*;

import java.io.Serializable;
import java.util.List;

/**
 * @author dingjc
 * @Description：TODO(数据工厂 dm_国际标准表 Elasticsearch bean)
 *                  DM数据工厂ES表不由该系统维护，请将createIndex设为false，避免系统启动时修改了大数据维护表的索引
 * @date 2018年04月18日  上午 10:40
 */
@Document( indexName = "dm_map_national_standard" ,type = "index",createIndex = true)
@Setting(settingPath = "/setting/setting.json")
public class DmMapNationalStandard implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    private String id;

    /**
     * @Fields SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     * @Fields SYS_add_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     * @Fields SYS_add_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;

    /**
     *  CCS:TODO(中国标准分类号)
     */
    @Field(type = FieldType.keyword)
    private String CCS;

    /**
     *  Chinese_standard_title:TODO(中文标准名称)
     */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String Chinese_standard_title;

    /**
     *  English_standard_title:TODO(英文标准名称)
     */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String English_standard_title;

    /**
     *  adopted_international_standard:TODO(采用国际标准)
     */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String adopted_international_standard;

    /**
     *  adopted_international_standard_name:TODO(采标名称)
     */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String adopted_international_standard_name;

    /**
     *  adopted_international_standard_number:TODO(采用国际标准号)
     */
    @Field(type = FieldType.keyword)
    private String adopted_international_standard_number;

    /**
     *  application_degree:TODO(采用程度)
     */
    @Field(type = FieldType.keyword)
    private String application_degree;

    /**
     *  drafting_committee:TODO(起草单位)
     */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String drafting_committee;

    /**
     * @Fields execute_date : TODO(实施日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String execute_date;

    /**
     *  ext_company:TODO(提取公司)
     */
    @Field(type = FieldType.text,analyzer = "tab_analyzer")
    private String ext_company;

    /**
     *  ext_institute:TODO(提取机构)
     */
    @Field(type = FieldType.text,analyzer = "tab_analyzer")
    private String ext_institute;

    /**
     * @Fields first_issuance_date : TODO(首次发布日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String first_issuance_date;

    /**
     *  governor:TODO(主管部门)
     */
    @Field(type = FieldType.text,analyzer = "tab_analyzer")
    private String governor;

    /**
     * @Fields issuance_date : TODO(发布日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String issuance_date;

    /**
     *  number_of_pages:TODO(标准页码)
     */
    @Field(type = FieldType.keyword)
    private String number_of_pages;

    /**
     *  plan_number:TODO(计划编号)
     */
    @Field(type = FieldType.keyword)
    private String plan_number;

    /**
     *  price:TODO(标准价格(元))
     */
    @Field(type = FieldType.keyword)
    private String price;

    /**
     *  replace_standard:TODO(代替标准号)
     */
    @Field(type = FieldType.keyword)
    private String replace_standard;

    /**
     *  replaced_standard:TODO(被代替标准号)
     */
    @Field(type = FieldType.keyword)
    private String replaced_standard;

    /**
     * @Fields review_affirmance_date : TODO(复审确认日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String review_affirmance_date;

    /**
     * @Fields revocatory_date : TODO(废止时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String revocatory_date;

    /**
     *  standard_number:TODO(标准号)
     */
    @Field(type = FieldType.keyword)
    private String standard_number;

    /**
     *  standard_sort:TODO(标准类别)
     */
    @Field(type = FieldType.keyword)
    private String standard_sort;

    /**
     *  standard_state:TODO(标准状态)
     */
    @Field(type = FieldType.keyword)
    private String standard_state;

    /**
     *  technical_committees:TODO(归口单位)
     */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String technical_committees;

    /**
     * weight_json:字段来源
     */
    @Field(type = FieldType.Nested)
    private List<WeightJson> weight_json;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String SYS_add_time) {
        this.SYS_add_time = SYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String SYS_check_time) {
        this.SYS_check_time = SYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String SYS_dm_update_time) {
        this.SYS_dm_update_time = SYS_dm_update_time;
    }

    public String getCCS() {
        return CCS;
    }

    public void setCCS(String CCS) {
        this.CCS = CCS;
    }

    public String getChinese_standard_title() {
        return Chinese_standard_title;
    }

    public void setChinese_standard_title(String chinese_standard_title) {
        Chinese_standard_title = chinese_standard_title;
    }

    public String getEnglish_standard_title() {
        return English_standard_title;
    }

    public void setEnglish_standard_title(String english_standard_title) {
        English_standard_title = english_standard_title;
    }

    public String getAdopted_international_standard() {
        return adopted_international_standard;
    }

    public void setAdopted_international_standard(String adopted_international_standard) {
        this.adopted_international_standard = adopted_international_standard;
    }

    public String getAdopted_international_standard_name() {
        return adopted_international_standard_name;
    }

    public void setAdopted_international_standard_name(String adopted_international_standard_name) {
        this.adopted_international_standard_name = adopted_international_standard_name;
    }

    public String getAdopted_international_standard_number() {
        return adopted_international_standard_number;
    }

    public void setAdopted_international_standard_number(String adopted_international_standard_number) {
        this.adopted_international_standard_number = adopted_international_standard_number;
    }

    public String getApplication_degree() {
        return application_degree;
    }

    public void setApplication_degree(String application_degree) {
        this.application_degree = application_degree;
    }

    public String getDrafting_committee() {
        return drafting_committee;
    }

    public void setDrafting_committee(String drafting_committee) {
        this.drafting_committee = drafting_committee;
    }

    public String getExecute_date() {
        return execute_date;
    }

    public void setExecute_date(String execute_date) {
        this.execute_date = execute_date;
    }

    public String getExt_company() {
        return ext_company;
    }

    public void setExt_company(String ext_company) {
        this.ext_company = ext_company;
    }

    public String getExt_institute() {
        return ext_institute;
    }

    public void setExt_institute(String ext_institute) {
        this.ext_institute = ext_institute;
    }

    public String getFirst_issuance_date() {
        return first_issuance_date;
    }

    public void setFirst_issuance_date(String first_issuance_date) {
        this.first_issuance_date = first_issuance_date;
    }

    public String getGovernor() {
        return governor;
    }

    public void setGovernor(String governor) {
        this.governor = governor;
    }

    public String getIssuance_date() {
        return issuance_date;
    }

    public void setIssuance_date(String issuance_date) {
        this.issuance_date = issuance_date;
    }

    public String getNumber_of_pages() {
        return number_of_pages;
    }

    public void setNumber_of_pages(String number_of_pages) {
        this.number_of_pages = number_of_pages;
    }

    public String getPlan_number() {
        return plan_number;
    }

    public void setPlan_number(String plan_number) {
        this.plan_number = plan_number;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getReplace_standard() {
        return replace_standard;
    }

    public void setReplace_standard(String replace_standard) {
        this.replace_standard = replace_standard;
    }

    public String getReplaced_standard() {
        return replaced_standard;
    }

    public void setReplaced_standard(String replaced_standard) {
        this.replaced_standard = replaced_standard;
    }

    public String getReview_affirmance_date() {
        return review_affirmance_date;
    }

    public void setReview_affirmance_date(String review_affirmance_date) {
        this.review_affirmance_date = review_affirmance_date;
    }

    public String getRevocatory_date() {
        return revocatory_date;
    }

    public void setRevocatory_date(String revocatory_date) {
        this.revocatory_date = revocatory_date;
    }

    public String getStandard_number() {
        return standard_number;
    }

    public void setStandard_number(String standard_number) {
        this.standard_number = standard_number;
    }

    public String getStandard_sort() {
        return standard_sort;
    }

    public void setStandard_sort(String standard_sort) {
        this.standard_sort = standard_sort;
    }

    public String getStandard_state() {
        return standard_state;
    }

    public void setStandard_state(String standard_state) {
        this.standard_state = standard_state;
    }

    public String getTechnical_committees() {
        return technical_committees;
    }

    public void setTechnical_committees(String technical_committees) {
        this.technical_committees = technical_committees;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }
}
